
Cet tutoriel montre comment envoyer des données d'un capteur de lumière vers le stockage Azure à l'aide d'une application Node.JS.
Truc utilisées dans ce projet:
- Composants matériels
- LattePanda 2 Go / 32 Go (non activé) × 1
- Applications logicielles et services en ligne
- Téléchargeur de données Azure
Qu'est-ce que le stockage Azure:
Azure Storage est la solution de stockage cloud pour les applications modernes qui reposent sur la durabilité, la disponibilité et l'évolutivité pour répondre aux besoins de leurs clients. Azure Storage est massivement évolutif, vous pouvez donc stocker et traiter des centaines de téraoctets de données pour prendre en charge le grand
scénarios de données requis par les applications scientifiques, financières et médiatiques. Ou vous pouvez stocker les petites quantités de données requises pour un site Web de petite entreprise.
Ce processus en plusieurs étapes comprend:
- Préparez votre environnement de développement
- Configuration du stockage Azure
- Exécutez l'exemple et envoyez les données du capteur de lumière à Azure Storage.
- Préparez votre environnement de développement Configuration d'Azure Storage Exécutez l'exemple et envoyez des données de capteur de lumière à Azure Storage.
3 étapes pour exécuter l'application Azure IoT Hub sur votre LattePanda.
- Étape 1: Prérequis
- Étape 2: configurer le matériel
- Étape 3: créer et exécuter l'exemple
Étape 1: Prérequis
Vous devez disposer des éléments suivants avant de commencer le processus:
- Ordinateur avec client Git installé et accès au référentiel public GitHub azure-iot-sdks.
- Préparez votre environnement de développement.
Si vous ne possédez pas de compte de stockage, suivez Configurer votre stockage Azure pour en configurer un.
Configurer l'Arduino (il est pré-installé, sauf si vous avez modifié le programme Arduino)

Étape 2: configurer le matériel:
Insérez le capteur de lumière dans la broche analogique LattePanda A0, la configuration finale devrait ressembler à ceci:
Étape 3: créer et exécuter l'exemple:
Créez un fichier app.js et copiez-y le code suivant. assurez-vous d'entrer des valeurs valides pour accountName accountKey et arduinoPort. Vous pouvez également modifier tableName. Placez le fichier dans le dossier de votre choix sur votre LattePanda
var azure = require («azure-storage»);
var five = require ('johnny-five');
var accountName = ''; // Entrez le nom de votre compte de stockage Azure
var accountKey = ''; // Entrez votre clé de compte de stockage Azure
var tableName = 'MyLightSensorData'; // Nom de votre table pour stocker les données du capteur de lumière
var arduinoPort = 'COM3'; // Entrez votre port Arduino
var tableService = azure.createTableService (accountName, accountKey);
if (CreateTable ()) {
InitializeBoard ();
}
// Créer une table dans le stockage Azure
function CreateTable () {
tableService.createTableIfNotExists (tableName, fonction (erreur, résultat, réponse) {
si (erreur) {
console.log (erreur);
retour faux;
}
});
return true;
}
// Initialiser la carte Arduino avec Johnny-Five
fonction InitializeBoard () {
var board = new five.Board ({port: arduinoPort});
board.on ('ready', function () {
lightSensor = new five.Sensor ({
broche: "A0",
fréquence: 10000 // 10 secondes
});
lightSensor.on ('change', function () {
InsertValue (this.value);
});
});
}
fonction InsertValue (valeur) {
console.log ('Valeur à insérer:' + valeur);
// Créer une entité à stocker dans la table avec la valeur
// du capteur de lumière et de la date.
var entGen = azure.TableUtilities.entityGenerator;
entité var = {
PartitionKey: entGen.String ('Light'),
RowKey: entGen.String (String (Date.now ())),
intValue: entGen.Int32 (valeur),
dateValue: entGen.DateTime (new Date (). toISOString ()),
};
// Insère l'entité dans la table de stockage Azure
tableService.insertEntity (tableName, entité, fonction (erreur, résultat, réponse) {
si (erreur) {
console.log (erreur);
}
});
}
Ouvrez un nouveau shell ou une invite de commande Node.js et accédez au dossier dans lequel vous avez placé les exemples de fichiers. installez les bibliothèques azure et johnny-five à l'aide des commandes suivantes:
npm installer azur
npm installer johnny-five
Exécutez l'exemple d'application à l'aide des commandes suivantes. Toutes les 10 secondes, le code enverra la valeur du capteur de lumière au tableau spécifié.
node app.js
Vous pouvez ensuite afficher les données envoyées au stockage Azure avec Power BI. Dans Power BI, cliquez sur le bouton Obtenir les données, sélectionnez «Microsoft Azure Table Storage» comme source, puis suivez les étapes pour vous connecter. Une fois connecté, vous pouvez sélectionner votre table et afficher les données du capteur de lumière qui ont été envoyées depuis votre LattePanda.

Code
sampleC / C ++:
var azure = require («azure-storage»);
var five = require ('johnny-five');
var accountName = ''; // Entrez le nom de votre compte de stockage Azure
var accountKey = ''; // Entrez votre clé de compte de stockage Azure
var tableName = 'MyLightSensorData'; // Nom de votre table pour stocker les données du capteur de lumière
var arduinoPort = 'COM3'; // Entrez votre port Arduino
var tableService = azure.createTableService (accountName, accountKey);
if (CreateTable ()) {
InitializeBoard ();
}
// Créer une table dans le stockage Azure
function CreateTable () {
tableService.createTableIfNotExists (tableName, fonction (erreur, résultat, réponse) {
si (erreur) {
console.log (erreur);
retour faux;
}
});
return true;
}
// Initialiser la carte Arduino avec Johnny-Five
fonction InitializeBoard () {
var board = new five.Board ({port: arduinoPort});
board.on ('ready', function () {
lightSensor = new five.Sensor ({
broche: "A0",
fréquence: 10000 // 10 secondes
});
lightSensor.on ('change', function () {
InsertValue (this.value);
});
});
}
fonction InsertValue (valeur) {
console.log ('Valeur à insérer:' + valeur);
// Créer une entité à stocker dans la table avec la valeur
// du capteur de lumière et de la date.
var entGen = azure.TableUtilities.entityGenerator;
entité var = {
PartitionKey: entGen.String ('Light'),
RowKey: entGen.String (String (Date.now ())),
intValue: entGen.Int32 (valeur),
dateValue: entGen.DateTime (new Date (). toISOString ()),
};
// Insère l'entité dans la table de stockage Azure
tableService.insertEntity (tableName, entité, fonction (erreur, résultat, réponse) {
si (erreur) {
console.log (erreur);
}
});
}

22 Commentaire (s)
Great post! I appreciate the way this article explains cricket-related updates, platform features, and user experience in a simple and informative manner. It’s always helpful to find content that keeps readers informed and engaged with the latest developments. For anyone looking to learn more about account access and platform information, Cricbet99 id is a commonly searched term that many users find useful. Thanks for sharing such clear and relevant information—looking forward to reading more quality content here.
Great article for cricket fans who enjoy staying updated with match insights, player performances, and tournament discussions. The content is easy to follow and provides useful information for readers looking for cricket-related updates. I also came across diamondexch99 while exploring cricket communities online, and it’s interesting to see how different platforms contribute to fan engagement. Thanks for sharing this informative post and keeping readers connected with the latest happenings in the cricket world.
Great post! I appreciate how clearly the information is presented and how it helps readers stay updated with the latest cricket and sports-related insights. The platform experience seems smooth, and the content is easy to follow for both new and regular users. If someone is looking for reliable updates and a seamless experience, exploring a Play99exch id can be a useful way to access the platform’s features and stay connected with ongoing sports activities. Keep up the good work!
Great article on cricket trends and match analysis. I appreciate how the content focuses on game insights, player performances, and upcoming fixtures in a clear and engaging way. Platforms like Cricbet99 win can be useful for cricket enthusiasts who want to stay updated with match-related information and discussions. The detailed coverage and regular updates help readers follow the sport more closely. Looking forward to reading more informative cricket content and expert analysis in future posts.
Reddybooksclub provides sports-related updates and live information for users who follow cricket and other games. The platform is helpful for those who want quick insights and smooth navigation. Many users search for reliable updates and real-time details in one place. Reddy book live is often mentioned by users looking for instant sports coverage and related news. The website aims to keep information simple, accessible, and user friendly for regular visitors interested in sports content online every day updated platform site.
I recently explored the website and found it quite informative for users interested in online gaming and casino updates. The layout is simple and easy to navigate, which makes browsing smooth even for beginners. The content also shares useful insights about trends and features in the gaming industry. Anyone looking for general information about platforms like Laser247 casino can find relevant details here. Overall, it feels like a helpful source for understanding online casino-related topics and updates in one place.
References: \r\n\r\n\r\nHarrah\'s new orleans casino https://www.investagrams.com/Profile/ewing4273701
References: \r\n\r\n\r\nLatest casino bonuses telegra.ph
References: \r\n\r\n\r\nBimini casino telegra.ph
References: \r\n\r\n\r\nHollywood casino baton rouge la https://literaturewiki.site/
References: \r\n\r\n\r\nCasinos louisiana taban-miniatures.com
References: \r\n\r\n\r\nVideo poker para pc https://urlscan.io
References: \r\n\r\n\r\nOnline slots for real money https://bridgedesign.space/wiki/NV_Casino_Deutschland_Schneller_Login_und_Bonus_Angebote
References: \r\n\r\n\r\nSouth african online casinos fitzgerald-regan-4.technetbloggers.de
References: \r\n\r\n\r\nSandia casino albuquerque www.instapaper.com
References: \r\n\r\n\r\nSpirit mt casino truckwiki.site
References: \r\n\r\n\r\nRiviera casino las vegas liveheadline.space
References: \r\n\r\n\r\nCreek nation casino https://flashjournal.site/item/sphereshrimp3
References: \r\n\r\n\r\nCrown europe casino undrtone.com
References: \r\n\r\n\r\nMicrogaming online casinos may22.ru
References: \r\n\r\n\r\nReno casinos https://truckwiki.site/wiki/NV_Casino_Bis_zu_2000_Bonus_und_225_Freispiele
References: \r\n\r\n\r\nRt 66 casino https://gaiaathome.eu/
Laissez un commentaire